<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta name="generator" content="Hugo 0.82.1" />
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="管理 Go 模块#Golang 工作空间(workspace)模式#  GOPATH 当打开一个位于GOPATH之下的目录时，会进入 GOPATH 模式。这里先不做介绍。 Go 1.17 中，计划废弃这个功能。
  模块(Go module)
 单模块 多模块 工作空间模块    单模块#go 默认的源码布局是源码在 vscode 打开目录的根上，即 go.mod在第一层目录。 如果根目录上只有一个子目录，go 可以支持模块目录是这个子目录。（这有什么用呢？）
多模块#通过使用 vscode 的多工作空间的方式，可以支持多模块。
工作空间模块(workspace module)#这个现在是一个实验功能，支持多个模块在 vsocde 打开的目录之下。 需要通过 vscode 的设置打开这个功能。
&#34;gopls&#34;: { &#34;experimentalWorkspaceModule&#34;: true }, Go 命令#创建一个 main module#mkdir gobook cd dir gobook go mod init dream.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="管理Go模块" />
<meta property="og:description" content="管理 Go 模块#Golang 工作空间(workspace)模式#  GOPATH 当打开一个位于GOPATH之下的目录时，会进入 GOPATH 模式。这里先不做介绍。 Go 1.17 中，计划废弃这个功能。
  模块(Go module)
 单模块 多模块 工作空间模块    单模块#go 默认的源码布局是源码在 vscode 打开目录的根上，即 go.mod在第一层目录。 如果根目录上只有一个子目录，go 可以支持模块目录是这个子目录。（这有什么用呢？）
多模块#通过使用 vscode 的多工作空间的方式，可以支持多模块。
工作空间模块(workspace module)#这个现在是一个实验功能，支持多个模块在 vsocde 打开的目录之下。 需要通过 vscode 的设置打开这个功能。
&#34;gopls&#34;: { &#34;experimentalWorkspaceModule&#34;: true }, Go 命令#创建一个 main module#mkdir gobook cd dir gobook go mod init dream." />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://example.org/docs/workspace-module/" /><meta property="article:section" content="docs" />



<title>管理Go模块 | My Golang Book</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/book.min.2bc2364a4a4b31f0ec1debecf0a8f90a840821f143dfe1ac6a0f7cbcbdcf64ac.css" integrity="sha256-K8I2SkpLMfDsHevs8Kj5CoQIIfFD3&#43;Gsag98vL3PZKw=">
<script defer src="/en.search.min.84ce9693e6c02d95376f29aeb794c11824d09ed0440f910f008e91e9ed0436e4.js" integrity="sha256-hM6Wk&#43;bALZU3bymut5TBGCTQntBED5EPAI6R6e0ENuQ="></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->

  
</head>

<body dir="ltr">
  <input type="checkbox" class="hidden toggle" id="menu-control" />
  <input type="checkbox" class="hidden toggle" id="toc-control" />
  <main class="container flex">
    <aside class="book-menu">
      <div class="book-menu-content">
        
  <nav>
<h2 class="book-brand">
  <a href="/"><span>My Golang Book</span>
  </a>
</h2>


<div class="book-search">
  <input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
  <div class="book-search-spinner hidden"></div>
  <ul id="book-search-results"></ul>
</div>











  



  
  <ul>
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/introduction/" class="">Golang 介绍</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/installation/" class="">安装、准备开发环境</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/go-routine/" class="">并发处理 - Go 协程</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/workspace-module/" class=" active">管理Go模块</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/erro-handling/" class="">错误处理</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/resources/" class="">Golang 资源</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/statements/" class="">Go For语句</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/guidelines/" class="">Go 开发规范</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/logging/" class="">日志</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/data-init/" class="">Data Init</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/data-types/" class="">Data Types</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/debug/" class="">Debug</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/dynamic-programing/" class="">Dynamic Programing</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/ecosystem/" class="">Ecosystem</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/performance/" class="">Performance</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/struct-interface/" class="">Struct Interface</a>
  

        </li>
      
    
      
        <li>
          
  
  

  
    <a href="http://example.org/docs/struct-tags/" class="">Struct Tags</a>
  

        </li>
      
    
  </ul>















</nav>




  <script>(function(){var a=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(b){localStorage.setItem("menu.scrollTop",a.scrollTop)}),a.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>


 
      </div>
    </aside>

    <div class="book-page">
      <header class="book-header">
        
  <div class="flex align-center justify-between">
  <label for="menu-control">
    <img src="/svg/menu.svg" class="book-icon" alt="Menu" />
  </label>

  <strong>管理Go模块</strong>

  <label for="toc-control">
    
    <img src="/svg/toc.svg" class="book-icon" alt="Table of Contents" />
    
  </label>
</div>


  
  <aside class="hidden clearfix">
    
  
<nav id="TableOfContents">
  <ul>
    <li><a href="#golang-工作空间workspace模式">Golang 工作空间(workspace)模式</a>
      <ul>
        <li><a href="#单模块">单模块</a></li>
        <li><a href="#多模块">多模块</a></li>
        <li><a href="#工作空间模块workspace-module">工作空间模块(workspace module)</a></li>
      </ul>
    </li>
    <li><a href="#go-命令">Go 命令</a>
      <ul>
        <li><a href="#创建一个-main-module">创建一个 main module</a></li>
        <li><a href="#创建一个-lib-module">创建一个 lib module</a></li>
      </ul>
    </li>
    <li><a href="#引用你的-module">引用你的 module</a></li>
    <li><a href="#诊断diagnostics">诊断(Diagnostics)</a>
      <ul>
        <li><a href="#profiling">Profiling</a></li>
        <li><a href="#tracing">Tracing</a></li>
        <li><a href="#调试debugging">调试(Debugging)</a></li>
      </ul>
    </li>
    <li><a href="#模块开发和发布工作流">模块开发和发布工作流</a></li>
    <li><a href="#go-命令-1">Go 命令</a></li>
    <li><a href="#发布模块">发布模块</a></li>
    <li><a href="#参照">参照</a></li>
  </ul>
</nav>



  </aside>
  
 
      </header>

      
      
  <article class="markdown"><h1 id="管理-go-模块">
  管理 Go 模块
  <a class="anchor" href="#%e7%ae%a1%e7%90%86-go-%e6%a8%a1%e5%9d%97">#</a>
</h1>
<h2 id="golang-工作空间workspace模式">
  Golang 工作空间(workspace)模式
  <a class="anchor" href="#golang-%e5%b7%a5%e4%bd%9c%e7%a9%ba%e9%97%b4workspace%e6%a8%a1%e5%bc%8f">#</a>
</h2>
<ul>
<li>
<p>GOPATH
当打开一个位于<code>GOPATH</code>之下的目录时，会进入 GOPATH 模式。这里先不做介绍。
Go 1.17 中，计划废弃这个功能。</p>
</li>
<li>
<p>模块(Go module)</p>
<ul>
<li>单模块</li>
<li>多模块</li>
<li>工作空间模块</li>
</ul>
</li>
</ul>
<h3 id="单模块">
  单模块
  <a class="anchor" href="#%e5%8d%95%e6%a8%a1%e5%9d%97">#</a>
</h3>
<p>go 默认的源码布局是源码在 vscode 打开目录的根上，即 <code>go.mod</code>在第一层目录。
如果根目录上只有一个子目录，go 可以支持模块目录是这个子目录。（这有什么用呢？）</p>
<h3 id="多模块">
  多模块
  <a class="anchor" href="#%e5%a4%9a%e6%a8%a1%e5%9d%97">#</a>
</h3>
<p>通过使用 vscode 的多工作空间的方式，可以支持多模块。</p>
<h3 id="工作空间模块workspace-module">
  工作空间模块(workspace module)
  <a class="anchor" href="#%e5%b7%a5%e4%bd%9c%e7%a9%ba%e9%97%b4%e6%a8%a1%e5%9d%97workspace-module">#</a>
</h3>
<p>这个现在是一个实验功能，支持多个模块在 vsocde 打开的目录之下。
需要通过 vscode 的设置打开这个功能。</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-json" data-lang="json"><span style="color:#e6db74">&#34;gopls&#34;</span><span style="color:#960050;background-color:#1e0010">:</span> {
    <span style="color:#f92672">&#34;experimentalWorkspaceModule&#34;</span>: <span style="color:#66d9ef">true</span>
}<span style="color:#960050;background-color:#1e0010">,</span>
</code></pre></div><h2 id="go-命令">
  Go 命令
  <a class="anchor" href="#go-%e5%91%bd%e4%bb%a4">#</a>
</h2>
<h3 id="创建一个-main-module">
  创建一个 main module
  <a class="anchor" href="#%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa-main-module">#</a>
</h3>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mkdir gobook
cd dir gobook
go mod init dream.com/gobook
</code></pre></div><ul>
<li>
<p>创建一个 main.go 文件</p>
</li>
<li>
<p>编辑 main 程序</p>
</li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#f92672">package</span> <span style="color:#a6e22e">main</span>

<span style="color:#f92672">import</span> <span style="color:#e6db74">&#34;fmt&#34;</span>

<span style="color:#66d9ef">func</span> <span style="color:#a6e22e">main</span>() {
	<span style="color:#a6e22e">fmt</span>.<span style="color:#a6e22e">Println</span>(<span style="color:#e6db74">&#34;This is a go book&#34;</span>)
}
</code></pre></div><div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># 运行</span>
go run .
</code></pre></div><h3 id="创建一个-lib-module">
  创建一个 lib module
  <a class="anchor" href="#%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa-lib-module">#</a>
</h3>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">cd ..
mkdir greetings
cd dir greetings
go mod init dream.com/greetings
</code></pre></div><ul>
<li>
<p>创建一个 greetings.go 文件</p>
</li>
<li>
<p>编辑 greetings 程序</p>
</li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#f92672">package</span> <span style="color:#a6e22e">greetings</span>

<span style="color:#f92672">import</span> <span style="color:#e6db74">&#34;fmt&#34;</span>

<span style="color:#75715e">// Hello returns a greeting for the named person.
</span><span style="color:#75715e"></span><span style="color:#66d9ef">func</span> <span style="color:#a6e22e">Hello</span>(<span style="color:#a6e22e">name</span> <span style="color:#66d9ef">string</span>) <span style="color:#66d9ef">string</span> {
	<span style="color:#75715e">// Return a greeting that embeds the name in a message.
</span><span style="color:#75715e"></span>	<span style="color:#a6e22e">message</span> <span style="color:#f92672">:=</span> <span style="color:#a6e22e">fmt</span>.<span style="color:#a6e22e">Sprintf</span>(<span style="color:#e6db74">&#34;Hi, %v. Welcome!&#34;</span>, <span style="color:#a6e22e">name</span>)
	<span style="color:#66d9ef">return</span> <span style="color:#a6e22e">message</span>
}
</code></pre></div><h2 id="引用你的-module">
  引用你的 module
  <a class="anchor" href="#%e5%bc%95%e7%94%a8%e4%bd%a0%e7%9a%84-module">#</a>
</h2>
<ul>
<li>修改 <code>gobook/main.go</code></li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#f92672">package</span> <span style="color:#a6e22e">main</span>

<span style="color:#f92672">import</span> (
	<span style="color:#e6db74">&#34;dream.com/greetings&#34;</span>
	<span style="color:#e6db74">&#34;fmt&#34;</span>
)

<span style="color:#66d9ef">func</span> <span style="color:#a6e22e">main</span>() {
	<span style="color:#75715e">// Get a greeting message and print it.
</span><span style="color:#75715e"></span>	<span style="color:#a6e22e">message</span> <span style="color:#f92672">:=</span> <span style="color:#a6e22e">greetings</span>.<span style="color:#a6e22e">Hello</span>(<span style="color:#e6db74">&#34;Gladys&#34;</span>)
	<span style="color:#a6e22e">fmt</span>.<span style="color:#a6e22e">Println</span>(<span style="color:#a6e22e">message</span>)

}

<span style="color:#f92672">-</span> <span style="color:#a6e22e">增加引用</span>

<span style="color:#e6db74">``</span><span style="color:#960050;background-color:#1e0010">`</span><span style="color:#a6e22e">sh</span>
<span style="color:#a6e22e">cd</span> ..<span style="color:#f92672">/</span><span style="color:#a6e22e">gobook</span>
<span style="color:#66d9ef">go</span> <span style="color:#a6e22e">mod</span> <span style="color:#a6e22e">edit</span> <span style="color:#f92672">-</span><span style="color:#a6e22e">replace</span>=<span style="color:#a6e22e">dream</span>.<span style="color:#a6e22e">com</span><span style="color:#f92672">/</span><span style="color:#a6e22e">greetings</span>=..<span style="color:#f92672">/</span><span style="color:#a6e22e">greetings</span>
<span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">gobook</span><span style="color:#f92672">/</span><span style="color:#66d9ef">go</span>.<span style="color:#a6e22e">mod</span> <span style="color:#a6e22e">里增加了上面一行</span>


<span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">同步模块的依赖</span>
<span style="color:#66d9ef">go</span> <span style="color:#a6e22e">mod</span> <span style="color:#a6e22e">tidy</span>
<span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">gobook</span><span style="color:#f92672">/</span><span style="color:#66d9ef">go</span>.<span style="color:#a6e22e">mod</span> <span style="color:#a6e22e">里增加了一行</span><span style="color:#960050;background-color:#1e0010">，</span><span style="color:#a6e22e">对</span> <span style="color:#a6e22e">dream</span>.<span style="color:#a6e22e">com</span><span style="color:#f92672">/</span><span style="color:#a6e22e">greetings</span> <span style="color:#a6e22e">的版本约束</span>


<span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">运行</span>
<span style="color:#66d9ef">go</span> <span style="color:#a6e22e">run</span> .
</code></pre></div><h2 id="诊断diagnostics">
  诊断(Diagnostics)
  <a class="anchor" href="#%e8%af%8a%e6%96%addiagnostics">#</a>
</h2>
<p>诊断的四个方面；</p>
<ul>
<li>
<p>Profiling
使用 profiling 工具来分析程序的消耗和复杂度。包括: 内存使用量，函数被调用的次数等等。</p>
</li>
<li>
<p>Tracing
获取和分析在 go 进程中的一些潜在因素。可用于解决性能。</p>
</li>
<li>
<p>Debugging
停止一个程序，检查程序当时的状态。</p>
</li>
<li>
<p>Runtime statistics and events</p>
</li>
</ul>
<h3 id="profiling">
  Profiling
  <a class="anchor" href="#profiling">#</a>
</h3>
<p>使用 profiling 工具来分析程序的消耗和复杂度。包括: 内存使用量，函数被调用的次数等等。
profiling 在中文中不好理解，可以理解为：做轮廓图。其含义是实时提供正在运行程序的一些指数。
包括:</p>
<ul>
<li>CPU 的使用量</li>
<li>内存使用数据</li>
<li>OS 线程创建数据</li>
<li>go 协程数据</li>
<li>go 协程的阻塞数据</li>
<li>信号量的使用数据</li>
</ul>
<p><strong>工具</strong></p>
<ul>
<li><code>runtime/pprof</code></li>
<li><code>net/http/pprof</code></li>
<li><code>go tool pprof</code></li>
<li>可视化: <code>go tool pprof</code> 提供了 text, graph 和 callgrind 可视化的方式</li>
<li>可视化: <code>flame graph</code>
客户化的 profiling: 可以定义自己的 profiles.</li>
</ul>
<h3 id="tracing">
  Tracing
  <a class="anchor" href="#tracing">#</a>
</h3>
<h3 id="调试debugging">
  调试(Debugging)
  <a class="anchor" href="#%e8%b0%83%e8%af%95debugging">#</a>
</h3>
<ul>
<li><code>golang.org/x/net/trace</code></li>
</ul>
<h2 id="模块开发和发布工作流">
  模块开发和发布工作流
  <a class="anchor" href="#%e6%a8%a1%e5%9d%97%e5%bc%80%e5%8f%91%e5%92%8c%e5%8f%91%e5%b8%83%e5%b7%a5%e4%bd%9c%e6%b5%81">#</a>
</h2>
<ol>
<li>设计和开发模块</li>
<li>按照规范提交代码到仓库</li>
<li>发布模块</li>
<li>遵循版本定义规范，升级后续开发的模块。</li>
</ol>
<h2 id="go-命令-1">
  Go 命令
  <a class="anchor" href="#go-%e5%91%bd%e4%bb%a4-1">#</a>
</h2>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># 引用一个外部的模块</span>

<span style="color:#75715e"># 测试</span>
go test

<span style="color:#75715e"># 测试，输出详细过程</span>
go test -v

<span style="color:#75715e"># 构建，生成可执行程序</span>
go build

<span style="color:#75715e"># 发现本地安装目录</span>
go list -f <span style="color:#e6db74">&#39;{{.Target}}&#39;</span>
<span style="color:#75715e"># 输出: $HOME/go/bin/gobook.exe</span>
<span style="color:#75715e"># 安装目录就是: $HOME/go/bin</span>

<span style="color:#75715e"># 可以选择配置 GOBIN到其它位置，比如:</span>
<span style="color:#75715e">#go env -w GOBIN=/path/to/your/bin</span>

<span style="color:#75715e"># 安装到本地</span>
go install

<span style="color:#75715e"># 运行一个go文件。</span>
go run file.go
</code></pre></div><h2 id="发布模块">
  发布模块
  <a class="anchor" href="#%e5%8f%91%e5%b8%83%e6%a8%a1%e5%9d%97">#</a>
</h2>
<ul>
<li>整理模块的依赖</li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># 上传</span>
go mod tidy
</code></pre></div><ul>
<li>测试</li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">go test ./...
</code></pre></div><ul>
<li>打标签，上次代码</li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">git commit -m <span style="color:#e6db74">&#34;mymodule: changes for v0.1.0&#34;</span>
git tag v0.1.0

<span style="color:#75715e">#Push the new tag to the origin repository.</span>
git push origin v0.1.0
</code></pre></div><ul>
<li>让你的模块可发现</li>
</ul>
<p>对模块的查询，可引起在<a href="https://pkg.go.dev/">Golang 包发现网站</a>注册你的模块。</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">go list -m example.com/mymodule@v0.1.0
</code></pre></div><h2 id="参照">
  参照
  <a class="anchor" href="#%e5%8f%82%e7%85%a7">#</a>
</h2>
<ul>
<li><a href="https://github.com/golang/vscode-go/blob/HEAD/docs/tools.md">vscode go tools</a></li>
<li><a href="https://golang.google.cn/doc/modules/release-workflow">Go 模块发布流程</a></li>
</ul>
</article>
 
      

      <footer class="book-footer">
        
  <div class="flex flex-wrap justify-between">





</div>

 
        
      </footer>

      
  
  <div class="book-comments">

</div>
  
 

      <label for="menu-control" class="hidden book-menu-overlay"></label>
    </div>

    
    <aside class="book-toc">
      <div class="book-toc-content">
        
  
<nav id="TableOfContents">
  <ul>
    <li><a href="#golang-工作空间workspace模式">Golang 工作空间(workspace)模式</a>
      <ul>
        <li><a href="#单模块">单模块</a></li>
        <li><a href="#多模块">多模块</a></li>
        <li><a href="#工作空间模块workspace-module">工作空间模块(workspace module)</a></li>
      </ul>
    </li>
    <li><a href="#go-命令">Go 命令</a>
      <ul>
        <li><a href="#创建一个-main-module">创建一个 main module</a></li>
        <li><a href="#创建一个-lib-module">创建一个 lib module</a></li>
      </ul>
    </li>
    <li><a href="#引用你的-module">引用你的 module</a></li>
    <li><a href="#诊断diagnostics">诊断(Diagnostics)</a>
      <ul>
        <li><a href="#profiling">Profiling</a></li>
        <li><a href="#tracing">Tracing</a></li>
        <li><a href="#调试debugging">调试(Debugging)</a></li>
      </ul>
    </li>
    <li><a href="#模块开发和发布工作流">模块开发和发布工作流</a></li>
    <li><a href="#go-命令-1">Go 命令</a></li>
    <li><a href="#发布模块">发布模块</a></li>
    <li><a href="#参照">参照</a></li>
  </ul>
</nav>


 
      </div>
    </aside>
    
  </main>

  
</body>

</html>












